﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.Generic;
using System.Runtime.Serialization;


namespace MoviTiendas.Logica
{
    [DataContract]
    public class Carrito
    {
         [DataMember]
        public List<Item> items { get; set; }
         [DataMember]
        public int precioTotal { 
             get{ 
                 int temp = 0;
                 foreach(Item i in items)
                     temp+=i.cantidad*i.precioUnitario;
                 return temp;
             }
             set{
                ;
             }

             }
         [DataMember]
        public Tienda tienda;


        public Carrito(Tienda tienda)
        {
            items = new List<Item>();
            precioTotal = 0;
            this.tienda = tienda;
        }

        public void AgregarItemACarrito(Item item)
        {
            if (!items.Contains(item))
            {
                items.Add(item);
                precioTotal += item.precioUnitario * item.cantidad;
            }
            else
            {
                foreach (Item it in items)
                {
                    if (it.Equals(item))
                    {
                        it.cantidad += item.cantidad;
                        precioTotal += item.precioUnitario * item.cantidad;
                    }
                }
            }
        }

        public void cambiarCantidadItem(Item item, int nuevaCantidad)
        {
            if (items.Contains(item))
            {
                precioTotal -= item.precioUnitario * item.cantidad;
                item.cantidad = nuevaCantidad;
                precioTotal += item.precioUnitario * item.cantidad;
            }
        }
    }
}
